<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      //filter的使用: 可以循环过滤数据
      var arr = [1, 2, 3, 4, 5];
      //   var res = arr.filter(function (item, key, arr) {
      //     console.log(item, key, arr);
      //     return item > 3;
      //   });
      //   console.log(res);

      //实现一个filter : 根据回调函数的返回值 选择 是否要把item收集起来

      function myFilter(arr, cb) {
        var newArr = []; //根据cb 的执行结果 选择需不需要把arr[i]item收集起来
        for (var i = 0; i < arr.length; i++) {
          var result = cb(arr[i], i, arr);
          //cb = function(item,key,arr){
          //console.log(item,key,arr)
          //return item>3
          //}
          if (result) {
            newArr.push(arr[i]);
          }
        }
        return newArr;
      }

      var res = myFilter(arr, function (item, key, arr) {
        console.log(item, key, arr);
        return item > 3;
      });
      console.log(res);
    </script>
  </body>
</html>
